package com.yxx.business.service;

import java.util.List;

import com.yxx.common.core.domain.PageResult;
import com.yxx.business.entity.TbWasteTransportDo;
import com.yxx.business.entity.TbWasteTransportVo;
import com.yxx.business.entity.TbWasteTransportQueryDto;
import com.yxx.business.entity.TbWasteTransportEditDto;
import com.yxx.common.core.service.IServicePlus;

/**
 * 废物运输信息Service接口
 *
 * @author yxx
 * @date 2025-08-16
 */
public interface ITbWasteTransportService extends IServicePlus<TbWasteTransportDo> {

    /**
     * 查询废物运输信息分页结果
     *
     * @param tbWasteTransportQueryDto 废物运输信息查询实体
     * @return 废物运输信息分页
     */
    public PageResult<TbWasteTransportVo> selectTbWasteTransportVoPage(TbWasteTransportQueryDto tbWasteTransportQueryDto);

    /**
     * 查询废物运输信息Vo列表
     *
     * @param tbWasteTransportQueryDto 废物运输信息查询实体
     * @return 废物运输信息集合
     */
    public List<TbWasteTransportVo> selectTbWasteTransportVoList(TbWasteTransportQueryDto tbWasteTransportQueryDto);

    /**
     * 查询废物运输信息Do列表
     *
     * @param tbWasteTransportQueryDto 废物运输信息查询实体
     * @return 废物运输信息集合
     */
    public List<TbWasteTransportDo> selectTbWasteTransportDoList(TbWasteTransportQueryDto tbWasteTransportQueryDto);

    /**
     * 查询单个废物运输信息
     *
     * @param wasteId 废物运输信息主键
     * @return 废物运输信息单个
     */
    public TbWasteTransportVo selectTbWasteTransportVoByWasteId(Long wasteId);

    /**
     * 新增废物运输信息
     *
     * @param tbWasteTransportQueryDto 废物运输信息编辑实体
     * @return 结果
     */
    public int insertTbWasteTransport(TbWasteTransportEditDto tbWasteTransportQueryDto);

    /**
     * 修改废物运输信息
     *
     * @param wasteId 主键
     * @param tbWasteTransportQueryDto 废物运输信息编辑实体
     * @return 结果
     */
    public int updateTbWasteTransport(Long wasteId, TbWasteTransportEditDto tbWasteTransportQueryDto);

    /**
     * 批量删除废物运输信息
     *
     * @param wasteIds 废物运输信息主键集合
     * @return 结果
     */
    public int deleteTbWasteTransportByWasteIds(List<Long> wasteIds);

    /**
     * 删除单个废物运输信息信息
     *
     * @param wasteId 废物运输信息主键
     * @return 结果
     */
    public int deleteTbWasteTransportByWasteId(Long wasteId);
}
